home *** CD-ROM | disk | FTP | other *** search
- .\" @(*) tmac.s 1.10p5 91/2/24 rosenkra
- .\" **************************************************************************
- .\" partial -ms package for nroff. macros for simple paper/report formats
- .\"
- .\" usage: nroff -ms file [...]
- .\" installed path: c:\lib\tmac\tmac.s (TMACDIR)
- .\" user macros: TL, AU, AI, AB, AE, SH, NH, PP, LP, QP, XP, RS, RE,
- .\" IP, I, B, R, IR, RI, BR, RB, IB, BI, XS, XA, XE
- .\" extensions: TI, EX
- .\" no-ops: PX
- .\" debuging: }D
- .\" internal macros: }R
- .\" strings used: Q, U, -, CR, LF, RF, DW, MO, Dy, Da, Yr, dY, DY, TM,
- .\" DA, CT, Xx
- .\" registers used: A, B, C, D, E, F, G, H, I, J, K, M, O, P, Q, R, X, Z
- .\" bugs: many features not implemented.
- .\" IP does not place short tags on same line.
- .\" table of contents stuff (XS,XA,XE,PX) kludgy.
- .\" author: rosenkra@convex.com (Bill Rosenkranz)
- .\" version: for ST nroff v1.10p5
- .\" date: 91/2/24
- .\" restrictions: none. freely distributable (no copyright, etc.)
- .\" **************************************************************************
- .\"
- .\" control
- .\"
- .\" set this >0 to turn on debugging
- .nr Z 0
- .\" set M>0 for use with manpager(1), and then N>0 if SH and TL are to be bold
- .nr M 1
- .nr N 1
- .\" set O>1 for page offset and line width oriented toward screen viewing
- .nr O 1
- .\"
- .\" **************************************************************************
- .\"
- .\" some predefined strings (Quote, Unquote, dash, footer parts, etc):
- .\"
- .if \nM=0 \{\
- . ds ' "'
- . ds ` "'
- . ds Q ""
- . ds U ""
- . ds - "--
- \}
- .if \nM>0 \{\
- . ds ' "
' - . ds ` "
` - . ds Q "
! - . ds U "
" - .\" ds - "
- - . ds - "
å - \}
- .ds CF "ImPoSsIbLe
- .ds LF "\0
- .ds RF "\0
- .\"
- .\" these are various predefined date and time strings
- .\"
- .\" DW day-of-week:
- .if \n(dw=1 .ds DW "Sun
- .if \n(dw=2 .ds DW "Mon
- .if \n(dw=3 .ds DW "Tue
- .if \n(dw=4 .ds DW "Wed
- .if \n(dw=5 .ds DW "Thu
- .if \n(dw=6 .ds DW "Fri
- .if \n(dw=7 .ds DW "Sat
- .\" MO month:
- .if \n(mo=1 .ds MO "January
- .if \n(mo=2 .ds MO "February
- .if \n(mo=3 .ds MO "March
- .if \n(mo=4 .ds MO "April
- .if \n(mo=5 .ds MO "May
- .if \n(mo=6 .ds MO "June
- .if \n(mo=7 .ds MO "July
- .if \n(mo=8 .ds MO "August
- .if \n(mo=9 .ds MO "September
- .if \n(mo=10 .ds MO "October
- .if \n(mo=11 .ds MO "November
- .if \n(mo=12 .ds MO "December
- .\" make some composites:
- .ds Dy "\*(MO \n(dy
- .ds Da "\n(hh:\n(mm:\n(ss \n(mo/\n(dy/\n(yr
- .ds Yr "19\n(yr
- .ds dY "\*(Dy, \*(Yr
- .ds DY "\n(dy \*(MO \*(Yr
- .ds TM "\n(hh:\n(mm:\n(ss
- .ds DA "\*(TM \*(DY
- .ds CT "\*(DW \*(Dy \*(TM 19\n(yr
- .\"
- .\" they look like this:
- .\"
- .\" DW Sun
- .\" MO March
- .\" Dy March 4
- .\" dY March 4, 1990
- .\" DY 4 March 1990 <--- "normal" nroff form
- .\" Yr 1990
- .\" TM 16:34:00
- .\" DA 16:34:00 March 4, 1990
- .\" Da 16:34:00 2/4/90
- .\" CT Sun March 4 16:34:00 1990 almost like ctime(2)
- .\"
- .\" **************************************************************************
- .\"
- .\" startup stuff...
- .\"
- .if \nO>0 .po 0.8i
- .pl 66
- .if \nO=0 \{\
- . ll 6.0i
- . lt 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- . lt 6.4i
- \}
- .m1 3
- .m2 2
- .m3 3
- .m4 3
- .\" no header line on first page! (set back in AB, SH, NH, LP, PP, QP)
- .tl ||||
- .\" this is the default footer (date, centered) unless string CF is defined
- .fo ||\*(DY||
- .\" these are for NH numbering (up to 5 levels, a la sun, X holds level)
- .nr A 0 1
- .af A 1
- .nr B 0 1
- .af B 1
- .nr C 0 1
- .af C 1
- .nr D 0 1
- .af D 1
- .nr E 0 1
- .af E 1
- .nr X 1 1
- .nr P 0 1
- .nr F 0 1
- .nr G 0 1
- .nr H 0 1
- .nr I 0 1
- .nr J 0 1
- .nr K 0 1
- .\"
- .\" **************************************************************************
- .\"
- .\" MACROS...
- .\"
- .\" ---------------------------------------------------------------------- TL
- .\" title for document (optional unless abstract)
- .\"
- .de TL
- .sp 4
- .ce 1000
- .\" reset footer. you MUST define CF, even to blank, to get the others!
- .if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
- .if \nM>0 .if \nN>0 \&\fB
- .\" flag bold...
- .if \nM>0 .if \nN>0 .nr K 1
- ..
- .\" ---------------------------------------------------------------------- AU
- .\" author(s) (optional, requires .TL)
- .\"
- .de AU
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .sp 2
- ..
- .\" ---------------------------------------------------------------------- AI
- .\" author's institution (optional, requires .TL)
- .\"
- .de AI
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .sp 1
- ..
- .\" ---------------------------------------------------------------------- AB
- .\" abstract (optional, requires .TL, .AE)
- .\"
- .de AB
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .sp 2
- .\" check for arg to AB. can be "no" or something like "SUMMARY". if "no",
- .\" no title above the abstract
- .if !"$1"no" .if "$1"" ABSTRACT
- .if !"$1"no" .if !"$1"" $1
- .if !"$1"no" .sp 1
- .\" set new line length...
- .ce 0
- .if \nO=0 \{\
- . ll 5.0i
- . in 0.5i
- \}
- .if \nO>0 \{\
- . ll 5.4i
- . in 0.5i
- \}
- .tl ||- % -||
- ..
- .\" ---------------------------------------------------------------------- AE
- .\" abstract end (optional, requires .TL)
- .\"
- .de AE
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .sp 1
- .\" reset...
- .ce 0
- .in 0.0i
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- ..
- .\" ----------------------------------------------------------------------- SH
- .\" section heading, no number (optional)
- .\"
- .de SH
- .{R
- .if \nM>0 .if \nN>0 \&\fB
- .\" flag bold...
- .if \nM>0 .if \nN>0 .nr K 1
- .\" section title goes here, fill mode only so far...
- ..
- .\"
- .\" subroutine for section head reset (SH and NH)
- .de {R
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .\" reset...
- .nr P 0
- .nr F 0 1
- .nr G 0 1
- .nr H 0 1
- .nr I 0 1
- .nr J 0 1
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- .in 0.0i
- .tl ||- % -||
- .\" see note in TL
- .if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
- .\" .br
- .ce 0
- .sp 2
- .ne 4
- ..
- .\" ---------------------------------------------------------------------- NH
- .\" numbered section heading. arg (required) is the section level.
- .\" this would be MUCH simpler if the .if command supported "{...}". there is
- .\" a bug in nroff. i does not set the .$ number register correctly (number of
- .\" args for the current macro). that is the reason why level 1 must be set.
- .\"
- .de NH
- .{R
- .\" if ".NH 0", reset numbering
- .if $1=0 \{\
- . nr A 1 1
- . nr B 0 1
- . nr C 0 1
- . nr D 0 1
- . nr E 0 1
- . nr X 1 1
- \}
- .\" level 1 (two types here: ".NH" and ".NH 1"):
- .\" once .$ num reg is fixed, these 5 should be: .if \n(.$=0 .nr A +1 etc.
- .if "$1"" \{\
- . nr A +1
- . nr B 0 1
- . nr C 0 1
- . nr D 0 1
- . nr E 0 1
- . nr X 1 1
- \}
- .if "$1"1" \{\
- . nr A +1
- . nr B 0 1
- . nr C 0 1
- . nr D 0 1
- . nr E 0 1
- . nr X 1 1
- \}
- .\" level 2 (increment B, reset lower levels):
- .if "$1"2" \{\
- . nr B +1
- . nr C 0 1
- . nr D 0 1
- . nr E 0 1
- . nr X 2 1
- \}
- .\" level 3 (increment C, reset lower levels):
- .if "$1"3" \{\
- . nr C +1
- . nr D 0 1
- . nr E 0 1
- . nr X 3 1
- \}
- .\" level 4 (increment D, reset lower levels):
- .if "$1"4" \{\
- . nr D +1
- . nr E 0 1
- . nr X 4 1
- \}
- .\" level 5 (increment E, no more lower levels!):
- .if "$1"5" \{\
- . nr E +1
- . nr X 5 1
- \}
- .\" print out the section number now, depending on current level...
- .if \nM>0 \{
- . if \nN>0 .if \nX=1 \&\fB\nA.
- . if \nN>0 .if \nX=2 \&\fB\nA.\nB.
- . if \nN>0 .if \nX=3 \&\fB\nA.\nB.\nC.
- . if \nN>0 .if \nX=4 \&\fB\nA.\nB.\nC.\nD.
- . if \nN>0 .if \nX=5 \&\fB\nA.\nB.\nC.\nD.\nE.
- .\" flag bold...
- . if \nN>0 .nr K 1
- \}
- .if \nM=0 \{
- . if \nX=1 \&\nA.
- . if \nX=2 \&\nA.\nB.
- . if \nX=3 \&\nA.\nB.\nC.
- . if \nX=4 \&\nA.\nB.\nC.\nD.
- . if \nX=5 \&\nA.\nB.\nC.\nD.\nE.
- \}
- .\" section title goes here...
- ..
- .\" ----------------------------------------------------------------------- LP
- .\" start a new left block paragraph (either .LP or .PP required)
- .\"
- .de LP
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .\" reset...
- .nr P 0
- .nr F 0 1
- .nr G 0 1
- .nr H 0 1
- .nr I 0 1
- .nr J 0 1
- .tl ||- % -||
- .ce 0
- .sp 1
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- .in 0.0i
- ..
- .\" ----------------------------------------------------------------------- PP
- .\" start a new indented paragraph (either .LP or .PP required)
- .\"
- .de PP
- .\" do everything for LP, then make a temp indent...
- .LP
- .ti +0.5i
- ..
- .\" ----------------------------------------------------------------------- XP
- .\" start a new extended paragraph (bibliography)
- .\"
- .de XP
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .\" reset...
- .nr P 0
- .nr F 0 1
- .nr G 0 1
- .nr H 0 1
- .nr I 0 1
- .nr J 0 1
- .tl ||- % -||
- .ce 0
- .sp 1
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- .in 0.5i
- .ti -0.5i
- ..
- .\" ----------------------------------------------------------------------- QP
- .\" start a new quoted paragraph (indented and shorter)
- .\"
- .de QP
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .nr P 0
- .nr F 0 1
- .nr G 0 1
- .nr H 0 1
- .nr I 0 1
- .nr J 0 1
- .tl ||- % -||
- .ce 0
- .sp 1
- .\" set new line length, indent. PP, LP, SH, and NH reset
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- .in 0.0i
- .ll -0.5i
- .in +0.5i
- ..
- .\" ----------------------------------------------------------------------- IP
- .\" indented paragraph with tag (relative)
- .\"
- .de IP
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .tl ||- % -||
- .ce 0
- .\" .sp 1
- .if \nR>0 .in 0
- .if \nR=1 .in +\nF
- .if \nR=2 \{\
- . in +\nG
- . in +\nF
- \}
- .if \nR=3 \{\
- . in +\nH
- . in +\nG
- . in +\nF
- \}
- .if \nR=4 \{\
- . in +\nI
- . in +\nH
- . in +\nG
- . in +\nF
- \}
- .if \nR=5 \{\
- . in +\nJ
- . in +\nI
- . in +\nH
- . in +\nG
- . in +\nF
- \}
- .if \nR=0 .if \nP>0 .in -\nP
- .if !"$2"" .nr Q $2
- .if "$2"" .nr Q 5
- .in +\nQ
- .nr P \nQ
- .if \nR=1 .nr P +\nF
- .if \nR=2 \{\
- . nr P +\nG
- . nr P +\nF
- \}
- .if \nR=3 \{\
- . nr P +\nH
- . nr P +\nG
- . nr P +\nF
- \}
- .if \nR=4 \{\
- . nr P +\nI
- . nr P +\nH
- . nr P +\nG
- . nr P +\nF
- \}
- .if \nR=5 \{\
- . nr P +\nJ
- . nr P +\nI
- . nr P +\nH
- . nr P +\nG
- .nr P +\nF
- \}
- .}D "***DEBUG IP: indent before tag is: \n(.i"
- .}D .br
- .if !"$1"" \{\
- . ti -\nQ
- \&$1
- . br
- \}
- .}D "***DEBUG IP: indent after tag is: \n(.i"
- ..
- .\" ----------------------------------------------------------------------- RS
- .\" start relative indent (requires .RE)
- .\"
- .de RS
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .ce 0
- .\" if there is arg, use that as indent, otherwise use +5
- .if !"$1"" .nr Q $1
- .if "$1"" .nr Q 5
- .in +\nQ
- .\" indent level (up to 5)
- .if \n+R=1 .nr F \nQ
- .if \nR=2 .nr G \nQ
- .if \nR=3 .nr H \nQ
- .if \nR=4 .nr I \nQ
- .if \nR=5 .nr J \nQ
- .}D "***DEBUG RS: indent after RS is: \n(.i"
- .}D "***DEBUG RS: level (R) is: \nR"
- .}D "***DEBUG RS: F = \nF"
- .}D "***DEBUG RS: G = \nG"
- .}D "***DEBUG RS: H = \nH"
- .}D "***DEBUG RS: I = \nI"
- .}D "***DEBUG RS: J = \nJ"
- .}D .br
- ..
- .\" ----------------------------------------------------------------------- RE
- .\" end relative indent
- .\"
- .de RE
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .ce 0
- .if \nR=1 .in -\nF
- .if \nR=2 .in -\nG
- .if \nR=3 .in -\nH
- .if \nR=4 .in -\nI
- .if \nR=5 .in -\nJ
- .\"
- .if \nR=1 .nr F 0 1
- .if \nR=2 .nr G 0 1
- .if \nR=3 .nr H 0 1
- .if \nR=4 .nr I 0 1
- .if \nR=5 .nr J 0 1
- .if \n-R<0 .nr R 0 1
- .}D "***DEBUG RE: indent after RE is: \n(.i"
- .}D "***DEBUG RE: level (R) is: \nR"
- .}D "***DEBUG RE: F = \nF"
- .}D "***DEBUG RE: G = \nG"
- .}D "***DEBUG RE: H = \nH"
- .}D "***DEBUG RE: I = \nI"
- .}D "***DEBUG RE: J = \nJ"
- .}D .br
- ..
- .\" ----------------------------------------------------------------------- XS
- .\" table of contents start
- .\"
- .de XS
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .bp
- .ce 1
- .if \nM>0 \&\fBTable of Contents\fR
- .if \nM=0 \&Table of Contents
- .ce 0
- .ll 8.0i
- .sp 1
- .\" \&123456789012345678901234567890123456789012345678901234567890
- \&NOTE: add/del "dots" until line ends here ---------------->| (del this line)
- .br
- .\" save the page number...
- .ds Xx "$1
- .\" first entry goes here...
- ..
- .\" ----------------------------------------------------------------------- XE
- .\" table of contents end
- .\"
- .de XE
- .\" dump last page number...
- \&\0........................... \*(Xx
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- ..
- .\" ----------------------------------------------------------------------- XA
- .\" subsequent table of contents entry
- .\"
- .de XA
- .\" dump last page number...
- \&\0........................... \*(Xx
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .\" save next page number...
- .ds Xx "$1
- .\" next entry goes here...
- ..
- .\" ----------------------------------------------------------------------- PX
- .\" print table of contents
- .\"
- .de PX
- .\" this is a NOP without diversions...
- .if \nO=0 \{\
- . ll 6.0i
- \}
- .if \nO>0 \{\
- . ll 6.4i
- \}
- ..
- .\" ----------------------------------------------------------------------- TI
- .\" temporary indent
- .\"
- .de TI
- .if \nM>0 .if \nN>0 .if \nK>0 \&\fR
- .if \nK>0 .nr K 0
- .br
- .ce 0
- .ti +0.5i
- ..
- .\" ----------------------------------------------------------------------- EX
- .\" exit NOW! (no extra space at end of document)
- .\"
- .de EX
- .sp
- .ex
- ..
- .\" ----------------------------------------------------------------------- UL
- .\" underline text
- .\"
- .de UL
- .if \nM>0 \{\
- . if \n(.$>0 \&\fI$1\fR
- .\" flag font...
- . if \n(.$=0 .nr K 1
- \}
- .\".if \nM=0 .if \n(.$>0 \&$1
- .if \nM=0 \{\
- . if \n(.$=1 \&$1
- . if \n(.$=2 \&$1$2
- . if \n(.$=3 \&$1$2$3
- . if \n(.$=4 \&$1$2$3$4
- . if \n(.$=5 \&$1$2$3$4$5
- . if \n(.$=6 \&$1$2$3$4$5$6
- \}
- ..
- .\" ----------------------------------------------------------------------- I
- .\" italic text
- .\"
- .de I
- .if \nM>0 \{\
- . if \n(.$=0 \&\fI\&
- .\" flag font...
- . if \n(.$=0 .nr K 1
- .\"
- .\". if \n(.$>0 \&\fI$1\fR
- . if \n(.$=1 \&\fI$1\fR
- . if \n(.$=2 \&\fI$1$2\fR
- . if \n(.$=3 \&\fI$1$2$3\fR
- . if \n(.$=4 \&\fI$1$2$3$4\fR
- . if \n(.$=5 \&\fI$1$2$3$4$5\fR
- . if \n(.$=6 \&\fI$1$2$3$4$5$6\fR
- \}
- .\".if \nM=0 .if \n(.$>0 \&$1
- .if \nM=0 \{\
- . if \n(.$=1 \&$1
- . if \n(.$=2 \&$1$2
- . if \n(.$=3 \&$1$2$3
- . if \n(.$=4 \&$1$2$3$4
- . if \n(.$=5 \&$1$2$3$4$5
- . if \n(.$=6 \&$1$2$3$4$5$6
- \}
- ..
- .\" ----------------------------------------------------------------------- B
- .\" bold text
- .\"
- .de B
- .if \nM>0 \{\
- . if \n(.$=0 \&\fB\&
- .\" flag bold...
- . if \n(.$=0 .nr K 1
- .\"
- .\". if \n(.$>0 \&\fB$1\fR
- . if \n(.$=1 \&\fB$1\fR
- . if \n(.$=2 \&\fB$1$2\fR
- . if \n(.$=3 \&\fB$1$2$3\fR
- . if \n(.$=4 \&\fB$1$2$3$4\fR
- . if \n(.$=5 \&\fB$1$2$3$4$5\fR
- . if \n(.$=6 \&\fB$1$2$3$4$5$6\fR
- \}
- .\".if \nM=0 .if \n(.$>0 \&$1
- .if \nM=0 \{\
- . if \n(.$=1 \&$1
- . if \n(.$=2 \&$1$2
- . if \n(.$=3 \&$1$2$3
- . if \n(.$=4 \&$1$2$3$4
- . if \n(.$=5 \&$1$2$3$4$5
- . if \n(.$=6 \&$1$2$3$4$5$6
- \}
- ..
- .\" ----------------------------------------------------------------------- R
- .\" Roman (normal) text
- .\"
- .de R
- .\".if \nM>0 \&\fR\&
- .if \nM>0 \{\
- . if \n(.$=0 \&\fR\&
- .\" unflag bold...
- . if \n(.$=0 .nr K 0
- .\"
- . if \n(.$=1 \&\fR$1
- . if \n(.$=2 \&\fR$1$2
- . if \n(.$=3 \&\fR$1$2$3
- . if \n(.$=4 \&\fR$1$2$3$4
- . if \n(.$=5 \&\fR$1$2$3$4$5
- . if \n(.$=6 \&\fR$1$2$3$4$5$6
- \}
- .if \nM=0 \{\
- . if \n(.$=1 \&$1
- . if \n(.$=2 \&$1$2
- . if \n(.$=3 \&$1$2$3
- . if \n(.$=4 \&$1$2$3$4
- . if \n(.$=5 \&$1$2$3$4$5
- . if \n(.$=6 \&$1$2$3$4$5$6
- \}
- ..
- .\" ----------------------------------------------------------------------- IR
- .\" alternate italic and Roman text (must handle at least 6 args)
- .\"
- .de IR
- .if \nM>0 \{\
- . if \n(.$=1 \&\fI$1\fR
- . if \n(.$=2 \&\fI$1\fR$2
- . if \n(.$=3 \&\fI$1\fR$2\fI$3\fR
- . if \n(.$=4 \&\fI$1\fR$2\fI$3\fR$4
- . if \n(.$=5 \&\fI$1\fR$2\fI$3\fR$4\fI$5\fR
- . if \n(.$=6 \&\fI$1\fR$2\fI$3\fR$4\fI$5\fR$6
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- RI
- .\" alternate Roman and italic text (must handle at least 6 args)
- .\"
- .de RI
- .if \nM>0 \{\
- . if \n(.$=1 \&\fR$1
- . if \n(.$=2 \&\fR$1\fI$2\fR
- . if \n(.$=3 \&\fR$1\fI$2\fR$3
- . if \n(.$=4 \&\fR$1\fI$2\fR$3\fI$4\fR
- . if \n(.$=5 \&\fR$1\fI$2\fR$3\fI$4\fR$5
- . if \n(.$=6 \&\fR$1\fI$2\fR$3\fI$4\fR$5\fI$6\fR
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- BR
- .\" alternate bold and Roman text (must handle at least 6 args)
- .\"
- .de BR
- .if \nM>0 \{\
- . if \n(.$=1 \&\fB$1\fR
- . if \n(.$=2 \&\fB$1\fR$2
- . if \n(.$=3 \&\fB$1\fR$2\fB$3\fR
- . if \n(.$=4 \&\fB$1\fR$2\fB$3\fR$4
- . if \n(.$=5 \&\fB$1\fR$2\fB$3\fR$4\fB$5\fR
- . if \n(.$=6 \&\fB$1\fR$2\fB$3\fR$4\fB$5\fR$6
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- RB
- .\" alternate Roman and bold text (must handle at least 6 args)
- .\"
- .de RB
- .if \nM>0 \{\
- . if \n(.$=1 \&\fR$1
- . if \n(.$=2 \&\fR$1\fB$2\fR
- . if \n(.$=3 \&\fR$1\fB$2\fR$3
- . if \n(.$=4 \&\fR$1\fB$2\fR$3\fB$4\fR
- . if \n(.$=5 \&\fR$1\fB$2\fR$3\fB$4\fR$5
- . if \n(.$=6 \&\fR$1\fB$2\fR$3\fB$4\fR$5\fB$6\fR
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- BI
- .\" alternate bold and italic text (must handle at least 6 args)
- .\"
- .de BI
- .if \nM>0 \{\
- . if \n(.$=1 \&\fB$1\fR
- . if \n(.$=2 \&\fB$1\fI$2\fR
- . if \n(.$=3 \&\fB$1\fI$2\fB$3\fR
- . if \n(.$=4 \&\fB$1\fI$2\fB$3\fI$4\fR
- . if \n(.$=5 \&\fB$1\fI$2\fB$3\fI$4\fB$5\fR
- . if \n(.$=6 \&\fB$1\fI$2\fB$3\fI$4\fB$5\fI$6\fR
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- IB
- .\" alternate italic and bold text (must handle at least 6 args)
- .\"
- .de IB
- .if \nM>0 \{\
- . if \n(.$=1 \&\fI$1\fR
- . if \n(.$=2 \&\fI$1\fB$2\fR
- . if \n(.$=3 \&\fI$1\fB$2\fI$3\fR
- . if \n(.$=4 \&\fI$1\fB$2\fI$3\fB$4\fR
- . if \n(.$=5 \&\fI$1\fB$2\fI$3\fB$4\fI$5\fR
- . if \n(.$=6 \&\fI$1\fB$2\fI$3\fB$4\fI$5\fB$6\fR
- \}
- .if \nM=0 \&$1$2$3$4$5$6
- ..
- .\" ----------------------------------------------------------------------- }D
- .\" debug. use (e.g. print current indent):
- .\"
- .\" .}D .br
- .\" .}D "** DEBUG ** before RS \n(.i"
- .\"
- .de }D
- .if \nZ>0 \&$1
- ..
- .\"
- .\"
- .\" print macros first if debugging...
- .if \nZ>0 \{\
- . sp 2
- Macros Defined:
- . sp 2
- . pm T
- . sp 2
- End Macro Definitions.
- . sp 4
- \}
- .\"
- .\" end of tmac.s
-